using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Controls;
using MindFactorial.LaunchPoint.Common;

namespace MindFactorial.LaunchPoint.Console.Library
{
    /// <summary>
    /// Represents the interface for connecting to the top level menu
    /// </summary>
    public interface IMenuPresenter : IPresenter
    {       
        /// <summary>
        /// This method is called by the runtime to delegate menu attachment to user code.
        /// Use it to plug menus into the appropriate top level menu location
        /// </summary>
        /// <param name="context">Context to the top level menu of the console</param>
        void SetMenuContext(MenuPresentationContext context);

        /// <summary>
        /// Clears whatever changes have been made to the top level menu by this presenter
        /// </summary>
        void ClearMenuContext();
    }
}
